/**
 * 常用JS变量:
 * agentEvent = 代理模式下自动点击模块
 * acEvent= 无障碍模式下自动点击模块
 * device = 设备信息模块
 * file = 文件处理模块
 * http = HTTP网络请求模块
 * shell = shell命令模块
 * thread= 多线程模块
 * image = 图色查找模块
 * utils= 工具类模块
 * global = 全局快捷方式模块
 * 常用java变量：
 *  context : Android的Context对象
 *  javaLoader : java的类加载器对象
 * 导入Java类或者包：
 *  importClass(类名) = 导入java类
 *      例如: importClass(java.io.File) 导入java的 File 类
 *  importPackage(包名) =导入java包名下的所有类
 *      例如: importPackage(java.util) 导入java.util下的类
 *
 */

// function main() {
//     //开始再这里编写代码了！！
//     toast("Hello World");
//     // var name = readConfigString("name");
//     var name = "user";
//     logd("姓名: " + name);
//     // logd("年龄: " + readConfigString("age"));
//     // logd("听音乐: " + readConfigString("music"));
//     // logd("是不是一年级: " + readConfigString("one"));
//     // logd("备注: " + readConfigString("mark"));
//     // logd("jobTaskTag..." + readConfigString("jobTaskTag"));
//     //如果自动化服务正常
//     if (!autoServiceStart(3)) {
//         logd("自动化服务启动失败，无法执行脚本")
//         exit();
//         return;
//     }
//     logd("开始执行脚本...")
//     if (!netcardProcessor()) {
//         return;
//     }
//     home();
// }
//
// function netcardProcessor() {
//     logd("开始进行卡密验证")
//     // 官方自带的卡密系统
//     // appId 和 appSecret的值 请到 http://uc.ieasyclick.com/ 进行注册后提卡
//     let appId = "";
//     let appSecret = "";
//     let cardNo = readConfigString("cardNo")
//     if (cardNo == null || cardNo == undefined || cardNo.length <= 0) {
//         toast("请输入卡密")
//         loge("请输入卡密")
//         exit()
//         return false;
//     }
//     let inited = ecNetCard.netCardInit(appId, appSecret)
//     logd("inited card => " + JSON.stringify(inited));
//     let bind = ecNetCard.netCardBind(cardNo)
//     let bindResult = false;
//     if (bind != null && bind != undefined && bind["code"] == 0) {
//         logd("卡密绑定成功")
//         let leftDays = bind['data']['leftDays'] + "天";
//         logd("剩余时间：" + leftDays);
//         logd("激活时间：" + bind['data']['startTime'])
//         logd("过期时间：" + bind['data']['expireTime'])
//         bindResult = true;
//         toast("卡密剩余时间:" + leftDays)
//     } else {
//         if (bind == null || bind == undefined) {
//             loge("卡密绑定失败,无返回值 ")
//             let msg = "卡密绑定失败,无返回值"
//             loge(msg)
//             toast(msg)
//         } else {
//             let msg = "卡密绑定失败: " + bind["msg"]
//             loge(msg)
//             toast(msg)
//         }
//     }
//     return bindResult;
// }
// function autoServiceStart(time) {
//     for (var i = 0; i < time; i++) {
//         if (isServiceOk()) {
//             return true;
//         }
//         var started = startEnv();
//         logd("第" + (i + 1) + "次启动服务结果: " + started);
//         if (isServiceOk()) {
//             return true;
//         }
//     }
//     return isServiceOk();
// }
function main(){
    // toost("你好");
    // var name="User";
    // logd("姓名:"+name);
    // home();
    // checkApkVersion8();
  /*  toast("show","提示·");
    var selector=clz("android.widget.TextView");
    var result=getText(selector);
    logd("result"+result);

    var node=text("频道").getOneNodeInfo(3000);
    logd(node)
    if (node){
        node.click();
    }
    setFetchNodeMode(1,true,true);
    utils.openAppByName("微信");*/

    // var idValue="com.zhihu.android:id/title";
    // var node=id(idValue).getNodeInfo(3000);
    // logd("开始打印");
    // logd("找到："+node.length);
    // for(let i=0;i<node.length;i++){
    //     var value=node[i];
    //     logd("find-》"+value.value);
    // }

    // var node=text("如何有效利用chatgpt?").getOneNodeInfo(1000);
    // logd("信息"+node);
    var nodeName="com.zhihu.android:id/content";
    var node=id(nodeName).getOneNodeInfo(2000);
    logd("信息"+node);
    node.click();
    // swipe(100,200,600,800,2000)
}

function slip(second,per){
    //second总共时间，per每次滑动停留时间
    let width=device.getScreenWidth();
    let height=device.getScreenHeight();
    //滑动界面
    while(second>0){
        logd("执行滑动");
        let rnd_x=random(2,4);
        swipeToPoint(width/rnd_x, height*0.8, width/3, height*0.2, 500);
        sleep(per);
        second-=per;
    }
    swipeToPoint(width/2, height*0.2, width/3, height*0.8, 500);
}
//滑动
function move_one(){
    var result=startEnv();
    logd(result);
    utils.openAppByName("知乎");
    sleep(1000);
    swipeToPoint(10, 900, 100, 10, 200);
}

function device_info(){
    let info=device.getModel();
    logd(info);
    var width=DeviceWrapper.prototype.getScreenWidth();
    var heigh=DeviceWrapper.prototype.getScreenHeight();
    logd(width);
    logd(heigh);
    toast("测试");
    sleep(190);
    toast1("测试");
    // toast2("测试");
}








// main();
// move_one();
// device_info();




function openApp(name){
    utils.openAppByName(name);
    logd("正在试图打开："+name);

    //休眠1秒，防止没有弹出界面
    sleep(1000);
    let text_click="仅打开一次";
    let node=text(text_click).getOneNodeInfo(500);
    if(node) {
        node.click();
        logd("点击了:" + node.text);
    }
    else{
        logd("打开失败，没有找到界面");
    }
}


function tell_length(cell){
    logd("找到长度为:"+cell.length);
    for(i in cell){
        logd(i);
    }
}


function findActivate(){
    // let xpath_1="//node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.LinearLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.LinearLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.view.ViewGroup']/node[@clz='android.widget.FrameLayout']/node[@clz='android.support.v4.view.ViewPager']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.LinearLayout']/node[@clz='android.view.ViewGroup']/node[@clz='android.support.v4.view.ViewPager']/node[@clz='android.widget.FrameLayout']/node[@clz='android.support.v7.widget.RecyclerView']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.support.v7.widget.RecyclerView']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.LinearLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.view.View' and @index=0]";
    // let node_1=xpath(xpath_1).getOneNodeInfo(1000);
    let clz_value="android.widget.ImageView"
    let pkg_vlaue="com.taobao.taobao";
    let node=bounds(865,499,1041,637);
    let node_1=node.clz(clz_value).getOneNodeInfo(1000);
    node_1.clickCenter();
    logd(node);
    // clickCenter(node);
    // node_1=node.clz(clz_value).getOneNodeInfo(100);
    // if(node_1) {
    //     node_1.clickCenter();
    // }
    // else{
    //     loge("入口没有找到");
    // }
}

function click_188(){
    sleep(200);
    let pre_node=text("关闭").getOneNodeInfo(200);
    if(pre_node){
        toast("检查到弹窗，执行关闭");
        pre_node.click();
    }
    sleep(200);
    let text_1="累计最高可得";
    let node=text(text_1).getOneNodeInfo(500);
    if(node){
        logd("找到节点"+node.text);
        node.click();
    }
    else{
        loge("节点查找失败");
        exit();
    }
}

//签到
function attendence(){
    let text_match="每日签到.*";
    let node_text=textMatch(text_match).getOneNodeInfo(500);
    logd(node_text);
    if(node_text.text[8]==='0'){
        logd("没有签到，需要签到");
        toast("任务1:签到执行中");
        let xpath_1="//node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.LinearLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.view.ViewGroup']/node[@clz='android.widget.RelativeLayout']/node[@clz='android.widget.RelativeLayout']/node[@clz='com.uc.webview.export.WebView']/node[@clz='com.uc.aosp.android.webkit.m0']/node[@clz='android.webkit.WebView']/node[@clz='android.view.View']/node[@clz='android.view.View']/node[@clz='android.view.View']/node[@clz='android.widget.ListView']/node[@clz='android.view.View']/node[@clz='android.widget.Button' and @index=1 and @text='签到']";
        let node=xpath(xpath_1).getOneNodeInfo(500);
        logd(node.text);
        node.click();
        toast("签到成功");
    }
    else{
        logd("已签到，无需执行签到");
        toast("任务1签到跳过");
    }
}




//搜索心仪宝贝
function choice1(second){
    //开始搜索
    let search_xpath="//node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.LinearLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.view.ViewGroup']/node[@clz='android.widget.RelativeLayout']/node[@clz='android.widget.RelativeLayout']/node[@clz='com.uc.webview.export.WebView']/node[@clz='com.uc.aosp.android.webkit.m0']/node[@clz='android.webkit.WebView']/node[@clz='android.view.View']/node[@clz='android.view.View']/node[@clz='android.widget.ListView']/node[@clz='android.view.View']/node[@clz='android.view.View' and @index=0]";
    let search_node=xpath(search_xpath).getOneNodeInfo(200);
    search_node.click();
    sleep(200);
    slip(second,1000);
    back();
    sleep(500);
    back();
}
//直播
function choice2(){
    let text_value="直播"
    let xpath_value="//node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.LinearLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.LinearLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.LinearLayout']/node[@clz='android.widget.ImageView' and @index=1]";
    let node=xpath(xpath_value).getOneNodeInfo(200);
    logd("关闭按钮"+node.text);
    sleep(17000);
    node.click();
}


function choice3(){
    let desc_value="返回";
    let node=desc(desc_value).getOneNodeInfo(200);
    sleep(17000);
    toast("任务完成，正在放回");
    node.click();
}

//任务二，浏览领取步数
function task2(){
    let selector=bounds(855,1239,1053,1323);
    let node_2=selector.textMatch(".*完成").getOneNodeInfo(500);
    logd(node_2);
    if(node_2.text==="去完成"){
        toast("任务2未完成，开始执行");
        node_2.click();
        sleep(1000);
        //分为三种情况：搜索心仪宝贝、好物沉浸看、直播抽免单、浏览物品
        let value_1="搜索有福利.*";
        sleep(500);
       let feature= textMatch(value_1).getOneNodeInfo(200);
        if(feature){
            //这是搜索界面
            logd("进入了搜索界面");
            choice1(2000);
        }
        else{
            //这是浏览界面
            logd("浏览界面");
            slip(2000,1000);
            back();
        }
    }
    else{
        toast("任务2已完成，跳过");
    }
}

//好物沉浸看
// function task3(){
//     let text_value="搜一搜你心仪的宝贝.*";
//     let text_value2="看看.*";
//     let text_value3="好物.*";
//     toast("开始任务3");
//     while(text(text_value).getOneNodeInfo(100) || text(text_value2).getOneNodeInfo(100) || text(text_value3).getOneNodeInfo(100)){
//         let node_aim=null;
//         if(textMatch(text_value).getOneNodeInfo(100)) {
//             node_aim=textMatch(text_value).getOneNodeInfo(100);
//             let node_button=node_aim.parent().siblings();
//             logd(node_button.length);
//             node_button[0].click();
//             choice1(5000);
//         }
//         else if(textMatch(text_value2).getOneNodeInfo(100)){
//             node_aim=textMatch(text_value2).getOneNodeInfo(100);
//             let node_button=node_aim.parent().siblings();
//             logd(node_button.length);
//             node_button[0].click();
//             sleep(200);
//             slip(5000,1000);
//             back();
//         }
//         else if(textMatch(text_value3).getOneNodeInfo(100)){
//             node_aim=textMatch(text_value3).getOneNodeInfo(100);
//             let node_button=node_aim.parent().siblings();
//             logd(node_button.length);
//             node_button[0].click();
//             sleep(200);
//             slip(5000,1000);
//             back();
//         }
//     }
// }


function task3(){
    toast("任务三开始执行");
    sleep(1000);
    let local=bounds(21,1779,1059,1956);
    let button_xpath="//node[@clz='android.widget.FrameLayout']/node[@clz='android.widget.LinearLayout']/node[@clz='android.widget.FrameLayout']/node[@clz='android.view.ViewGroup']/node[@clz='android.widget.RelativeLayout']/node[@clz='android.widget.RelativeLayout']/node[@clz='com.uc.webview.export.WebView']/node[@clz='com.uc.aosp.android.webkit.m0']/node[@clz='android.webkit.WebView']/node[@clz='android.view.View']/node[@clz='android.view.View']/node[@clz='android.view.View']/node[@clz='android.widget.ListView']/node[@clz='android.view.View']/node[@clz='android.widget.Button' and @index=1 and @text='去完成']";
    let clz_value="android.widget.TextView";
    let button=local.xpath(button_xpath).getOneNodeInfo(100);
    let count=10;
    while(button.text==="去完成" && count>0) {
        count-=1;
        sleep(500);
        button = local.xpath(button_xpath).getOneNodeInfo(100);
        let texts = local.clz(clz_value).getOneNodeInfo(100);
        logd(texts);
        sleep(100);
        button.click();
        sleep(400);
        if(texts.text[0]==='搜'){
            logd("搜索");
            choice1(2000);
        }
        else{
            logd("浏览")
            sleep(1000);
            slip(2000,1000);
            back();
        }
    }
    toast("任务三已完成");
}

function auto(){
    //签到
    sleep(1000);
    attendence();
    sleep(100);
    //任务2
    task2();
    //任务3
    task3();
}

//淘宝工具
function Main(){
    let result=startEnv();
    if(result){
        logd("环境配置成功");
    }
    else{
        logd("环境配置失败");
    }
    //打开淘宝
    openApp("淘宝");
    toast1("打开淘宝成功");
    //等待加载完成
    sleep(2000);
    //找到金币双11入口
    findActivate();
    //防止跳广告，这里休眠一段时间
    sleep(3000);
    click_188();
    sleep(500);
    auto();
}

Main();







